package br.rafael.mulock.controle_de_estoque.modelo.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "rel_produto_pedido")
@IdClass(RelProdutoPedidoPK.class)
public class RelProdutoPedido {

	@Id
	@ManyToOne(targetEntity=Produto.class)
	@JoinColumn(name = "id_produto", referencedColumnName="id")
	private Produto produto;
	
	@Id
	@ManyToOne(targetEntity=Pedido.class)
	@JoinColumn(name = "id_pedido", referencedColumnName="id_movimentacao_estoque")
	private Pedido pedido;
	
	@Column(name = "quantidade_produto", nullable=false)
	private Integer quantidadeProduto;
	
	@Column(name = "valor_desconto_produto", nullable=true)
	private Float valorDescontoProduto;
	
	@Column(name = "valor_produto", nullable=false)
	private Float valorProduto;

	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}

	public Integer getQuantidadeProduto() {
		return quantidadeProduto;
	}

	public void setQuantidadeProduto(Integer quantidadeProduto) {
		this.quantidadeProduto = quantidadeProduto;
	}

	public Float getValorDescontoProduto() {
		return valorDescontoProduto;
	}

	public void setValorDescontoProduto(Float valorDescontoProduto) {
		this.valorDescontoProduto = valorDescontoProduto;
	}

	public Float getValorProduto() {
		return valorProduto;
	}

	public void setValorProduto(Float valorProduto) {
		this.valorProduto = valorProduto;
	}
}
